package com.obixlabs.security.credentialsstore.server.dao;

import java.util.Set;

import com.obixlabs.security.credentialsstore.exception.EntryNotFoundException;
import com.obixlabs.security.credentialsstore.model.BaseUser;
import com.obixlabs.security.credentialsstore.model.ObixGroup;
import com.obixlabs.security.credentialsstore.model.User;

public interface UserDAO 
{
	Set<BaseUser> findByGroup(ObixGroup group) throws EntryNotFoundException;
	BaseUser findByUserIdAndPassword(String username, String password);
	User findHumanUserByIdAndPassword(String username, String password);
	BaseUser findByUserId(String username);
	BaseUser findByEmailAddress(String emailAddress);
	User findHumanUserByUserId(String username);
	BaseUser save(BaseUser user);
	void delete(BaseUser user);
	
}